//
//  EmoticonPackage.swift
//  03-表情键盘
//
//  Created by 房城鸿 on 15/10/18.
//  Copyright © 2015年 房兰峰. All rights reserved.
//  MVM 

import UIKit

/// 表情包 模型
class EmoticonPackage: NSObject {

    ///目录名
    var id: String?
    
    ///  分组名
    var group_name_cn:String?
    
     //// 表情符号数组
    lazy var emoticons = [Emoticon]()
    
    init(dict: [String:AnyObject]){
    
        super.init()
        id = dict["id"] as? String
        group_name_cn = dict["group_name_cn"] as? String
        
        var index = 0
        if let array = dict["emoticons"] as? [[String:String]]{
            //TODO: -x循环- 创建emoticon 数组
            for var d in array{
                //拼接 png  的路径，将 id + "/" + png ,后续再读取图片的时候，直接使用包路径就可以
                // 判断字典中是否包含png 的key ,排除 emoji 没有图片的情况 
                if let imagePath = d["png"]{
                    //修改字典中的路径
                    d["png"] = id! + "/" + imagePath
                }
                emoticons.append(Emoticon(dict: d))
                
                index++
                if index == 20{
                    emoticons.append(Emoticon(isRemove: true))
                    index = 0
                }
            }
        }
        appendBlankEmoticon()
        
    }
    
    //增加空白表情
    func appendBlankEmoticon(){
    
        let count = emoticons.count % 21

        if count == 0 && emoticons.count > 0{
            return
        }
        //如果有需要补足的情况，表情数组完全为空
        //追加到 20 个空白按钮
        
        //追加空白按钮
        for _ in count..<20{
            emoticons.append(Emoticon(isEmpty: true))
        }
        //追加删除按钮
        emoticons.append(Emoticon(isRemove: true))
    }
    
    override var description: String{
        let key = ["id","group_name_cn","emoticons"]
        return dictionaryWithValuesForKeys(key).description
    }
    
}














